Electronic data interchange, particularly between portable digital information interchange units, such as computer units, laptops, notebooks or tablet units, mobile telephone units and data suppliers, such as service providers on the Internet, for interchanging sensitive data via long transmission links and nonsecure connection nodes results in unauthorized persons being able to access the interchanged data easily. For this reason, protecting the interchanged data is becoming more and more important.
To protect the interchanged data, data associated with security-related applications are encrypted. To this end, encryption systems are provided which make use of electronic keys in order to encrypt the data. However, not only do the data which are to be transmitted need to be protected, but also, to the same extent, the keys generated and the encryption system itself. If an attacker is successful in spying out the encryption and key generation system, then he is able to manipulate or turn off the encryption system and can read transmitted data as plain text and use them for further analysis.
Encryption systems to date operate either using a block algorithm or using a stream algorithm in order to encrypt the data.
A block algorithm involves the use of constant key lengths. A plurality of messages can be encrypted and decrypted using the same key pairs. In order to develop standardized digital circuit arrangements and software procedures or IP cores for encryption systems, the algorithms have been standardized and are thus open. An increase in the security of the encryption can usually be achieved only by increasing the key length and/or by increasing the number of recurring steps. Knowledge of the encryption algorithm in conjunction with the associated keys may subsequently be used to decrypt all data which have been encrypted using this system.
When a stream algorithm is used, either the keys are generated using a particular algorithm, for example a quasi-random algorithm with appropriate initialization vectors which is known to every user, or repeated longer keys are taken from a key database, the keys being kept with each user in a database individually for each message.
Information about block and stream algorithms is available in chapters 6 and 7, at pgs. 191-282 of the “Handbook of Applied Cryptography”, A. J. Menezes et al., CRC Press, the content of which is hereby incorporated by reference.
A common feature of the encryption/decryption systems to date is that they encrypt and decrypt a variable message or data rigidly according to a stipulated pattern. In this context, rigid is to be regarded as meaning that both the keys which are to be used and the encryption algorithm are firmly defined. Depending on the keys used and the data transmitted, an analysis of the physical side effects of the circuit arrangement results in a characteristic profile. This profile allows mathematical and/or statistical means to be used to draw conclusions about the keys used and the data encrypted.